手机推流到电脑(ubuntu18)

整体思路:使用PC作为中转服务器,手机端需要连接PC热点并通过APP推流,然后PC端拉流,支持ffplay,网络播放器,python-opencv等,类似的读取网络视频流应该都可以

安装nginx

参考ffmpeg+nginx+rtmp+web实现视频直播网站
需要注意的几点:

  1. 严格遵照原文的路径要求,在执行下述命令时
    ./configure --prefix=/usr/local/nginx --add-module=~/nginx-rtmp-module --with-http_ssl_module
    由于我的~可能与原文有出入,所以提示找不到nginx-rtmp-module。因为按照原文,下载后module和nginx在同一父路径下,所以改成
    ./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
  2. 由于APP限制,之前写的时候出了bug,推流的ip和端口无法修改,所以其他配置需要配套更改,下文的修改无线热点同理。
    在添加rtmp服务时,端口号必须指定为1935,其他都不变
    这里的application live中的live是后面要用的一个项目名,也可以自定义。
rtmp {    
    server {  
        listen 1935;  #这里做了修改,其他的都不变
        application live {  
        	live on;
    	}  
        application hls_alic{
		live on;
		hls  on;
		hls_path /tmp/hls;
	}
}  
  1. 原文给出的sudo ./nginx是启动服务,sudo ./nginx -s quit为退出服务,其他的可以查看nginx -h

推流

  1. 由于我的环境是ubuntu18,没有找到百度经验中的设置图,所以参考ubuntu 18.04 设置wifi热点的手机端接收解决方案以及开机自启动命令的第一个命令,电脑开启热点后终端中输入nm-connection-editor打开网络连接管理,第一个Hotspot就是热点
    在这里插入图片描述
    修改IPV4地址为192.168.137.1,子网掩码为24(由于怕设置错误,所以网关没填,竟然没报错…)
    在这里插入图片描述
    操作成功后,在手机端查看无线连接的IP地址应该在同一网段下。
  2. 这里用的是一个HBuilder写的APP,使用一个支持rtmp的插件,安装后应该会需要摄像头的权限,只支持推流到rtmp://192.168.137.1:1935/live(这里的live就是之前定义的项目名),由于后来不用HBuilder写代码了就删了源码。(没有开后门!!不放心的话可以PC在断网下操作,但是无线热点必须开)下载链接
  3. 参考使用ffmpeg for linux 录屏推流可以将桌面推流到服务器上,测试时电脑上必须有一个摄像头才能使用,不太清楚为什么,感兴趣的可以搜一下关于ffmpeg用法的其他博客

拉流

  1. 网络摄像头按网上要求操作即可,VLC亲测可用
    vlc
  2. 终端输入ffplay rtmp://192.168.137.1:1935/live,效果同网络浏览器
  3. python环境参考python+opencv读取视频,调用摄像头,创建摄像头对象时使用string类型参数"rtmp://192.168.137.1:1935/live"即可(需要在推流下运行python,而且在推流下结束python程序,不然python会无响应)
    python
    win10下原理和安装类似,注意需要安装nginx-rtmp-module,很多基础的教程里没有安装这个模块的相关部分,百度时需要注意一下这里。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Ubuntu上使用FFmpeg进行RTSP推流,首先需要确保已经安装了FFmpeg和相关的依赖库。可以按照网上的教程进行安装或者使用包管理器进行安装。安装完成后,可以按照以下步骤进行操作: 1. 准备一个MP4视频文件,确保已经准备好要推流的视频内容。 2. 启动RTSP服务器。可以使用ffmpeg自带的rtsp-simple-server或者其他的RTSP服务器软件。启动命令可以参考引用中的示例。 3. 使用ffmpeg进行推流。运行以下命令将MP4视频文件推送到RTSP服务器上: ```shell ffmpeg -re -stream_loop -1 -i [视频文件路径 -c copy -f rtsp [服务器地址] ``` 其中,-re参数表示按实际帧率进行推流,-stream_loop -1表示循环播放视频,-i后面是视频文件的路径,-c copy表示直接复制视频流,-f rtsp表示将视频流推送到RTSP服务器服务器地址可以根据实际情况进行替换。 4. 使用ffplay或VLC进行拉流。运行以下命令从RTSP服务器上拉取视频流进行播放: ```shell ffplay [服务器地址] ``` 其中,服务器地址是RTSP服务器的地址,可以根据实际情况进行替换。 通过以上步骤,你就可以在Ubuntu上使用FFmpeg进行RTSP推流和拉流了。请确保FFmpeg和相关软件已正确安装,并且按照示例命令进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ffmpeg搭建一个简单的rtsp推流方案](https://blog.csdn.net/shelgi/article/details/125295772)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值